package com.zmn.mcc.business.interfaces.dpermit.company;

import com.zmn.mcc.model.dto.dpermit.DpermitBaseDO;
import com.zmn.mcc.model.dto.dpermit.DpermitCountDO;
import com.zmn.mcc.model.dto.dpermit.DpermitSimpleDO;

import java.util.List;

/**
 * @author heguanghua
 * @since 2020/05/26 17:43
 */
public interface DpermitCompanyBService {

    /**
     * 取得全部平台/大区/子公司/服务商列表，平台、大区和子公司并列
     * 已有数据权限则置为选中
     * @param status
     * @param dpermitOrganizes 已有数据权限的组织集合
     * @return
     */
    List<DpermitSimpleDO> listOrganizeAndDpermitChecked(Integer status, List<? extends DpermitBaseDO> dpermitOrganizes);

    /**
     * 取得全部平台/大区/子公司的层级列表
     * 已检查并处理简单数据对象选中状态，包括下级全选
     * @param status
     * @param dpermitIds 已有数据权限的组织ID集合
     * @param dpermitCounts 已有的下级数据权限数量集合<data_parent_id,count(data_id)>
     * @return
     */
    List<DpermitSimpleDO> listOrganizeTreeAndDpermitChecked(Integer status, List<Integer> dpermitIds, List<DpermitCountDO> dpermitCounts);
}
